home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / PRG / PowerFantasm 4.10 unreg.sit / PowerFantasm 410 unreg / Beginners guide / GUIDE EXAMPLES / EXAMPLE7.S < prev    next >
Text File  |  1996-06-21  |  2KB  |  42 lines

  1. ********************************************************************************
  2. *EXAMPLE 7 - SETTING PIXELS                                                    *
  3. *AUTHOR    - STUART BALL JULY 94                                               *
  4. *SCREEN MUST BE SET TO 256 COLOUR MODE FOR THIS EXAMPLE                        *
  5. ********************************************************************************
  6. SCREENROW:    EQU    $0106    WIDTH OF EACH SCREEN LINE
  7. DEVICELIST:    EQU    $08A8    THE ADDRESS OF DEVICELIST
  8.  
  9. GET_VRAM_ADDR:    
  10.     MOVE.L    DEVICELIST,A0
  11.     MOVE.L    (A0),A0    POINT TO DEVICELIST
  12.     MOVE.L    A0,A1    COPY ADDRESS OF DEVICE LIST
  13.     MOVE.L    22(A1),A1    CONTENTS OF GDPMAP
  14.     MOVE.L    (A1),A1    BASE ADDRESS IN A1
  15.     MOVE.L    (A1),A1    VRAM ABSOLUTE ADDRESS IN A1
  16. **SET THE PIXEL AT 300,20 TO COLOUR 3
  17.     MOVE.W    #500,D0    X COORDINATE OF PIXEL
  18.     MOVE.W    #200,D1    Y COORDINATE
  19.     MOVE.W    #20,D2    COLOUR
  20.     BSR    PLOT    PLOT THIS PIXEL
  21.     RTS
  22.  
  23. **PLOT IS A SUBROUTINE THATS PLOTS A PIXEL ON THE SCREEN IN THE COLOUR HELD IN D2
  24. **NEEDS D0.W = X COORDINATE
  25. **      D1.W = Y COORDINATE
  26. **      D2.B = THE COLOUR
  27. **      A1   = VRAM BASE ADDRESS
  28. **ALL REGISTERS REMAIN UNAFFECTED
  29. PLOT:    MOVEM.L    D0-D3/A1,-(SP)    SAVE THE REGISTERS WE USE
  30.     CLR.L    D3
  31.     MOVE.W    SCREENROW,D3    GET PHYSICAL LENGTH OF EACH SCREEN LINE
  32.     MULS    D3,D1    Y COORDINATE TIMES THE LENGTH OF EACH LINE
  33.     ADD.L    D0,D1    VRAM ADDRESS OF THIS PIXEL
  34.     ADD.L    D1,A1    ABSOLUTE ADDRESS OF THIS PIXEL
  35.     MOVE.B    D2,(A1)    SET THE PIXEL TO THE COLOUR IN D2
  36.     MOVEM.L    (SP)+,D0-D3/A1    RESTORE THE REGS TO HOW THEY WERE
  37.     RTS        END OF SUBROUTINE PLOT
  38.     
  39. *********************END OF EXAMPLE 7***********************************
  40.  
  41.     
  42.